<?php
class ControleCorreios extends Control
{
	public $produto;

	public function __construct()
	{
		parent::__construct();

		$this->setLayout('correios');
		$this->produto = new Produto();
	}

	public function index()
	{
		$produtos = $this->produto->search();

		$this->view->assign('produtos', $produtos);

		return $this->view;
	}
	
	public function create()
	{
		$this->setTemplate('form');
		
		$this->view->assign('produto', $this->produto);
		return $this->view;
	}
	
	public function edit()
	{
		$this->setTemplate('form');
		$this->produto->load($this->params['id']);
		
		$correios = new Correio($this->produto->codigo);
		
		$this->view->assign('historico', $correios);
		$this->view->assign('produto', $this->produto);
		
		return $this->view;
	}
	
	public function save()
	{
		if(!empty($this->params['id']))
			$this->produto->load($this->params['id']);

		$this->produto->codigo = $this->params['codigo'];
		$this->produto->descricao = $this->params['descricao'];
		
		$correio = new Correio($this->params['codigo']);
		
		$this->produto->status = $correio->status;
		$this->produto->hash = $correio->hash;
		$this->produto->save();
		
		header('Content-type: application/json; charset=utf-8');
		return json_encode(array('id'=>$this->produto->id));
	}
	
	public function delete()
	{
		if(!empty($this->params['id']))
			$this->produto->load($this->params['id']);
		
		$this->produto->delete();
		$this->redirect(BASE.'correios');
	}
	
	public function reload()
	{
		if(!empty($this->params['id']))
			$this->produto->load($this->params['id']);

		$correio = new Correio($this->produto->codigo);
		
		$this->produto->status = $correio->status;
		$this->produto->hash = $correio->hash;
		$this->produto->save();
		
		echo $this->produto->status;
	}
	
	public function cron()
	{
		$produtos = $this->produto->search();
		foreach($produtos as $produto)
		{
			$correio = new Correio($produto['codigo']);
			if($produto['hash'] != $correio->hash)
			{
				// atualizo o produto
				$p = new Produto();
				$p->load($produto['id']);
				$p->hash = $correio->hash;
				$p->status = $correio->status;
				$p->save();
				
				$this->view->assign('produto', $p);
				$this->view->assign('historico', $correio->track);
				
				$mail = new phpmailer();
				$mail->IsHTML(true);
				$mail->From = 'rastreador@rastreador.marcelobento.com.br';
				$mail->FromName = 'Rastreador Encomendas';
				$mail->AddAddress("marcelobentodarocha@gmail.com", "Marcelo Bento");
				$mail->Subject = "Encomenda Atualizada " . $p->codigo;
				$mail->Body    = $this->view->fetch('php:email.php');
				
				if(!$mail->Send())
				{
				   echo "Email enviado com sucesso";
				}
			}	
		}
	}
	
	public function teste()
	{
		Config::add(array('HTML_COMPACTO' => 'verdadeiro'));
		
		
		echo Config::get('HTML_COMPACTO');
		$this->view->exibeLayout = false;
	}
}